package com.kingyun.gpsinspection.purificationservice.facade.service.jsm.servicenode;

import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Employee;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.ServiceNode;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Ztree;

import java.util.List;

/**
 * Created by huangxueqian@cqhilink.com on 2016/11/17.
 * 业务节点配置-服务层
 */
public interface JsmServiceNodeService {


    /**
     * 新增业务节点
     *
     * @param serviceNode 业务节点实体
     */
    public void insertServiceNode(ServiceNode serviceNode, Employee employee) throws Exception;

    /**
     * 业务获取业务体系划分树
     *
     * @param keyword 树形搜索值
     */
    public List<Ztree> getInitZtree(String keyword);

    /**
     * @param serviceNodeId 业务节点-查询
     */
    public ServiceNode queryServiceNode(String serviceNodeId);

    /**
     * 业务节点-删除
     *
     * @param nodeId 查询业务节点
     * @return
     */
    public Integer delServiceNode(String nodeId) throws Exception;

    /**
     * 根据ServiceNode实体类集合的nodeId查询parentNodeId数据集合
     *
     * @param list
     * @return List<ServiceNode>
     * @Author 卢曼成
     * @CreateDateTime 2017/3/24 14:51
     */
    List<ServiceNode> selectByParentList(List<ServiceNode> list);

    /**
     * 查询2级业务体系树形
     *
     * @return List<Ztree>
     * @Author 卢曼成
     * @CreateDateTime 2017/3/24 14:51
     */
    List<Ztree> initStationZtree();

    /**
     * 只查询业务节点 并转化成树
     */
    List<Ztree> getServieNodeZtree();
}
